package edu.usc.enl.dynamicmeasurement.metric.monitors; import edu.usc.enl.dynamicmeasurement.model.WildcardPattern; import java.util.Collections; import java.util.List; /** * Created with IntelliJ IDEA. * User: masoud * Date: 6/28/13 * Time: 10:22 PM */ public class MonitorWeightMedian extends MonitorMetric { public MonitorWeightMedian() { } @Override public Double compute(List<WildcardPattern> monitors) { if (monitors.size() == 0) { return null; } Collections.sort(monitors, WildcardPattern.WEIGHT_COMPARATOR); if (monitors.size() % 2 == 0) { return (monitors.get(monitors.size() / 2 - 1).getWeight() + monitors.get(monitors.size() / 2).getWeight()) / 2; } return monitors.get(monitors.size() / 2).getWeight(); } @Override public String toString() { return "MonitorWeight_Median" ; } }